System, method and computer program product for tracking and correlating online user activities with sales of physical goods

ABSTRACT

A vehicle sales matching system may include a vehicle sales lead data database, a vehicle sales information database, and a sales matching system embodied on a non-transitory computer-readable medium and communicatively connected to the vehicle sales lead data database and the vehicle sales information database. The vehicle sales lead data may include validated customer data and third-party customer data. The vehicle sales information may include sales data from vehicle dealers, data extract services, and sales data sources. The sales matching system may be configured for applying one or more matching rules for matching a vehicle sales lead from the vehicle sales lead database to a vehicle sale from the vehicle sales information database.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims a benefit of priorityunder 35 U.S.C. § 120 of the filing date of U.S. patent application Ser.No. 15/707,403, filed Sep. 18, 2017, entitled “SYSTEM, METHOD ANDCOMPUTER PROGRAM PRODUCT FOR TRACKING AND CORRELATING ONLINE USERACTIVITIES WITH SALES OF PHYSICAL GOODS,” which is a continuation of,and claims a benefit of priority under 35 U.S.C. § 120 of the filingdate of U.S. patent application Ser. No. 14/137,178, filed Dec. 20,2013, now U.S. Pat. No. 9,811,847, entitled “SYSTEM, METHOD AND COMPUTERPROGRAM PRODUCT FOR TRACKING AND CORRELATING ONLINE USER ACTIVITIES WITHSALES OF PHYSICAL GOODS,” which claims a benefit of priority under 35U.S.C. § 119(e) from U.S. Provisional Application No. 61/745,191, filedDec. 21, 2012, entitled “PAY-PER-SALE SYSTEM, METHOD AND COMPUTERPROGRAM PRODUCT THEREFOR,” all of which are fully incorporated herein byreference in their entireties.

TECHNICAL FIELD

This disclosure relates generally to lead generation and sales matching.More particularly, embodiments disclosed herein relate to a methodology,system, and computer program product for tracking and correlating onlineuser activities with sales of physical goods, useful for solving datagap issues.

BACKGROUND

Today, many people and entities alike use the internet for selling andpurchasing products or services. A sale may occur online after a leadthat identifies a prospective customer has been provided from a leadsupplier, where the lead supplier may be a party other than the sellerof the product or service. In pay-per-sale models, lead generators arepaid on the basis of the number of sales that are directly generated byan advertisement or leads.

In conventional pay-per-sale models, systems may attempt to track a saleof a product by collecting information from dealers of items presentedon websites and users browsing such websites. However, with conventionalpay-per-sale models, it is impossible to track which sales generated bya dealer correspond to a particular lead, caused by data gaps betweenthe online world where the websites operate and the physical world wherethe sales took place. In some conventional systems, a lead generator maybe paid for a sale of a product or service only if a user submits a leadcertificate from the lead generator to a dealer.

To this end, there is a need for improved systems and methods todetermine what sales correspond to which leads. Embodiments disclosedherein can address this need and more.

SUMMARY

Embodiments disclosed herein are directed towards a pay-per-sale modeland system implementing the pay-per-sale model that may determine if agenerated lead is associated with the sale of a product, utilizingcustomer specific data. The system may include a vehicle sales lead datadatabase, a vehicle sales information database, and a sales matchingsystem embodied on a non-transitory computer-readable medium andcommunicatively connected to the vehicle sales lead data database andthe vehicle sales information database.

The vehicle sales lead data may include validated customer data andthird-party customer data. The vehicle sales information may includesales data from vehicle dealers, third-party data extract services, andthird-party sales data sources. The sales matching system may beconfigured for applying one or more matching rules for matching avehicle sales lead from the vehicle sales lead database to a vehiclesale from the vehicle sales information database.

In some embodiments, the vehicle sales lead data database may includelead data input by potential customers at a web site associated with thesales matching system. In some embodiments, validated customer data mayinclude data filtered for consistency. In some embodiments, third-partycustomer data may include data derived from independent sources. In someembodiments, the third-party sales data sources including one or more ofinsurance providers and financing providers. In some embodiments, thesales matching system employing a first threshold for determiningwhether there is a match and a second threshold for determining whetherthere is not a match.

A method for matching vehicle sales may include collecting vehicle saleslead data in a vehicle sales lead data database, the vehicle sales leaddata including validated customer data and third-party customer data;collecting vehicle sales information in a vehicle sales informationdatabase, the vehicle sales information including sales data fromvehicle dealers, third-party data extract services, and third-partysales data sources; and applying one or more matching rules for matchinga vehicle sales lead from the vehicle sales lead database to a vehiclesale from the vehicle sales information database.

Some embodiments may include a computer program product having at leastone non-transitory computer-readable medium storing instructionstranslatable by at least one processor to implement the method.

These, and other, aspects of the invention will be better appreciatedand understood when considered in conjunction with the followingdescription and the accompanying drawings. The following description,while indicating various embodiments of the invention and numerousspecific details thereof, is given by way of illustration and not oflimitation. Many substitutions, modifications, additions, orrearrangements may be made within the scope of the invention, and theinvention includes all such substitutions, modifications, additions, orrearrangements.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings accompanying and forming part of this specification areincluded to depict certain aspects of the disclosure. It should be notedthat the features illustrated in the drawings are not necessarily drawnto scale. A more complete understanding of the disclosure and theadvantages thereof may be acquired by referring to the followingdescription, taken in conjunction with the accompanying drawings inwhich like reference numbers indicate like features and wherein:

FIG. 1 depicts a diagrammatic representation of an example system forsales and lead matching according to an embodiment.

FIG. 2 is a flowchart depicting operation of an embodiment.

FIG. 3 depicts a diagrammatic representation of an example salesmatching system according to an embodiment.

FIG. 4 depicts an example of household matching.

FIG. 5 depicts example sales matching criteria.

FIG. 6 is an example of automatic vs. manual matching.

DETAILED DESCRIPTION

The invention and the various features and advantageous details thereofare explained more fully with reference to the non-limiting embodimentsthat are illustrated in the accompanying drawings and detailed in thefollowing description. Descriptions of well-known starting materials,processing techniques, components, and equipment are omitted so as notto unnecessarily obscure the invention in detail. It should beunderstood, however, that the detailed description and the specificexamples, while indicating preferred embodiments of the invention, aregiven by way of illustration only and not by way of limitation. Varioussubstitutions, modifications, additions, and/or rearrangements withinthe spirit and/or scope of the underlying inventive concept will becomeapparent to those skilled in the art from this disclosure. Embodimentsdiscussed herein can be implemented in suitable computer-executableinstructions that may reside on a computer-readable medium (e.g., a harddisk (HD)), hardware circuitry or the like, or any combination.

Before discussing specific embodiments, a brief overview of the contextof the disclosure may be helpful. Embodiments as disclosed herein relateto various systems that are configured to track a user's interactionwith a network site (also referred to herein as the TrueCar system). Thesystem is configured to identify a source of where the user entered thenetwork site and the user's interaction with the network site to, forinstance, receive pricing information of a desired vehicleconfiguration. The system may also be configured to generate and trackleads, determine if a sale is associated with a lead, and invoice a leadconsumer if the sale is matched to the lead and approved for invoicing.

Turning now to FIG. 1 which depicts a diagrammatic representation ofexample system 100 comprising entity computing environment or network130 of an online solution provider. As illustrated in FIG. 1, user 110may interact (via a client device communicatively connected to one ormore servers hosting web site 140) with web site 140 to conduct theirproduct research, and perhaps purchase a new or used vehicle through website 140. In one embodiment, the user's car buying process may beginwhen the user directs a browser application running on the user'scomputer to send a request over a network connection (e.g., via network120) to web site 140. The user's request may be processed throughcontrol logic 180 coupled to web site 140 within entity computingenvironment 130.

An example of the user's computer or client device can include a centralprocessing unit (“CPU”), a read-only memory (“ROM”), a random accessmemory (“RAM”), a hard drive (“HD”) or storage memory, and input/outputdevice(s) (“I/O”). I/O can include a keyboard, monitor, printer, and/orelectronic pointing device. Example of an I/O may include mouse,trackball, stylus, or the like. Further, examples of a suitable clientdevice can include a desktop computer, a laptop computer, a personaldigital assistant, a cellular phone, or nearly any device capable ofcommunicating over a network.

Entity computer environment 130 may be a server having hardwarecomponents such as a CPU, ROM, RAM, HD, and I/O. Portions of the methodsdescribed herein may be implemented in suitable software code that mayreside within ROM, RAM, HD, database 150, model(s) 190 or a combinationthereof. In some embodiments, computer instructions implementing anembodiment disclosed herein may be stored on a digital access storagedevice array, magnetic tape, floppy diskette, optical storage device, orother appropriate computer-readable storage medium or storage device. Acomputer program product implementing an embodiment disclosed herein maytherefore comprise one or more computer-readable storage media storingcomputer instructions translatable by a CPU to perform an embodiment ofa method disclosed herein.

In an illustrative embodiment, the computer instructions may be lines ofcompiled C++, Java, or other language code. Other architectures may beused. For example, the functions of control logic 180 may be distributedand performed by multiple computers in enterprise computing environment130. Accordingly, each of the computer-readable storage media storingcomputer instructions implementing an embodiment disclosed herein mayreside on or accessible by one or more computers in enterprise computingenvironment 130. The various software components and subcomponents,including web site 140, database 150, control logic 180, and model(s)190, may reside on a single server computer or on any combination ofseparate server computers. In some embodiments, some or all of thesoftware components may reside on the same server computer.

In some embodiments, control logic 180 may be capable of determining amatch between a lead and a sale of a vendor 125 i selling a product to acustomer and the customer buying the product from a specific vendor 125i. In some embodiments, data about leads may be received from the user110 via the website 140, as well as lead data 170 from one or morethird-party sources. In some embodiments, information about sales may bereceived from vendors 125 i as well as one or more third-party sources172. In some embodiments, information about dealers and vendors 125 iknown to control logic 180 may be stored on database 150 which isaccessible by control logic 180 as shown in FIG. 1.

Control logic 180 can be configured to filter, select, and presentmatches between leads and sales using one or more rules 190. Rules(s)190 may be based in part on information about leads stored in database150 and information about sales stored in database 150.

Turning now to FIG. 2, one embodiment of a method for matching sales andleads is depicted. At step 202, lead data are collected, for example, bya computer in entity computer environment 130 into database 150. In oneembodiment, database 150 may implement a lead database such as a vehiclesales lead data database. As noted above, such lead data may includeuser supplied information received via web site 140, as well asadditional lead data supplied from third parties. Such third-partycustomer data may be appended to customer data received from user inputat web site 140. Lead data may additionally include one or more tagstracking user navigation of the web site 140. This is further explainedbelow.

A user visiting web site 140 may be required to provide some basiccustomer data such as first name, last name, home address, phone number,and/or email address. In one embodiment, the user (a potential customer)may be required to fill out this customer data before the dealerinformation can be displayed to the user via web site 140.

At step 204, customer data may be validated. Validation of customer datamay be desired because users may not enter valid customer data in aregistration form for a lead and false information cannot be used tofollow up on a lead or match sale. To mitigate this issue, the systemmay employ a validation sever internal or external to entity computerenvironment 130 or data validation services to help identify fake and/orincorrect customer data. These services may provide household dataassociated with the user and the system can append such additional datato the customer data, which can be later used in a sales matchingprocess. This validation process can happen in real-time or in anoffline process. The customer data, validated and/or appended data, andother information such as the traffic source and user behavior may bestored in a lead database.

In addition, data input by a user visiting web site 140 may be checkedfor accuracy or converted into a standard format. For example,honorifics may be deleted or converted into a standard form.Additionally, addresses and telephone numbers may be checked foraccuracy, and names associated therewith may be standardized againstnames provided by the user.

At step 206, one or more vendors may be selected based on the lead data.The system may implement a Dealer Scoring Algorithm (DSA) which utilizesthe customer data to select dealers that are most likely to yield a salein a network associated with an entity. An example DSA that can routelead(s) to dealers is described in U.S. patent application Ser. No.13/534,930, filed Jun. 27, 2012, entitled “METHOD AND SYSTEM FORSELECTION, FILTERING OR PRESENTATION OF AVAILABLE SALES OUTLETS,” whichis fully incorporated herein by reference in its entirety. One goal ofthe DSA is to increase the likelihood of closing a sale for eachprospect, thereby maximizing the revenue for the entity.

The results (selected/top dealers) from the DSA may be shown to a uservisiting web site 140 and the user can choose to submit the informationfor a given search to one or more of the dealers displayed to the user.Every user search can be tagged and recorded. The records may help thesystem understand the performance of the dealers and may help in furtheroptimizing the DSA.

At step 208, the lead data may be supplied to the selected vendors. Atstep 210, sales information is received from vendors and third parties.Over time (e.g., within a predetermined time period), the system mayreceive transaction records from dealers which contain information onthe transactions that occurred in their dealerships. These records maycontain customer data and data associated with each sale of a vehicle.This data is then stored in a sales database. Third parties may includeinsurance providers, financing providers, and the like.

At step 212, the received sales data and the lead data are compared tofind a match between the leads and sales to identify if the occurrenceof a sale is associated with a lead. Matched sales and leads may beapproved and invoiced to each dealer. If a dealer feels a sale has beeninvoiced in error, they can file a dispute which is then reviewedmanually.

Turning now to FIG. 3 which depicts a diagrammatic representation ofexample system 300 residing in an entity computing environment. In oneembodiment, system 300 may include website 312 hosted on one or moreserver machines operating in the entity computing environment.

User 305 may interact (via client device 306 communicatively connectedto one or more servers in the entity computing environment) with website312 to research an item. In this disclosure, an item can be a product ora service. In one embodiment, a product may be a vehicle.

User 305 may enter website 312 through various sources 308 on theinternet. Example sources may include online advertisements, partnersites, emails, search engines, online directories, etc.

In one embodiment, system 300 may track referral identification such asa uniform resource locator (URL) associated with source 308 from whereuser 305 entered website 312. System 300 may track source 308 todetermine sales revenue associated with a sale. In this way, system 300can optimize marketing investments across different sources 308. Whenuser 305 enters website 312, system 300 may track and record source 308of the traffic along with a corresponding timestamp indicating adata/time when user 305 entered website 312.

System 300 may also track and tag user 305 activities and informationassociated therewith throughout website 312, such as a product orservice selected or viewed by user 305 on a page of website 312. In oneembodiment, user 305 at client device 306 may use an interface ofwebsite 312 to specify customer data about user 305, such a name,address, phone number, email address, etc. User 305 may also specifyinformation about a desired product. For example, user 305 may specify aset of vehicle attributes including make, model, trim, color, powertrains, options, etc. In one embodiment, if user 305 changes anyattribute of the desired product while on website 312, system 300 maytag the attribute change. System 300 may also determine and track whatprices for the desired product are displayed on website 312 to user 305at client device 306.

Accordingly, system 300 can capture various pieces of informationassociated with user 305 activities on website 312. The capturedinformation, referred to as customer lead data 310, can be used togenerate a lead. System 300 may use these pieces of data to determinewhat dealers are best matches for user 305 and submit correspondingleads to those dealers.

System 300 may communicate customer lead data 310 in real time oroffline to third-party service providers such as Acxiom, ServiceObjects, Melissa Data, Quality Assurance System (QAS), Targuslnfo,NeuStar, etc. to determine if the customer data is valid (step 320),append the customer data with additional information (step 322), andscore the customer data (step 324).

To determine if the customer data is valid, the customer data that user305 entered about himself is compared with known formats for names,honorifics, email addresses, phone numbers, IP addresses, etc. If theuser provided information is incomplete, incorrect or indeterminate, itmay be determined that the customer data is not valid. In such cases, alead may not be sent to a dealer.

Various criteria may be used to determine whether a lead is valid. Forexample, in some embodiments, such criteria may include determination ofwhether one or more of the data are duplicates; whether the submittedphone number matches a phone number previously determined to be invalid;whether the first, last, or full names match names previously determinedto be invalid; whether the first, last, or full names match othercriteria (as shown, for example, below); and whether the street addressmatches an address previously determined to be invalid.

More particularly, according to an embodiment, the validation processwill flag any of the conditions below as an ‘Invalid’ lead, which is notsent to dealers nor used for sales matching:

Remove Duplicates: Leads where either of the conditions below match anyother leads submitted within seven days:

-   -   a. Same [Vehicle, Dealer and Customer Email Address] or    -   b. Same [Vehicle Make, Dealer, Customer Phone Number, and        Customer Last Name]

Phone Validation: Leads where phone matches previous Invalid files

First Name/Last Name:

-   -   a. Leads where First Name or Last Name match previous Invalid        files    -   b. Leads where First Name or Last name contain either Six        consecutive consonants, or Three consecutive periods (‘.’) or        dashes (‘-’)

Full Name:

-   -   a. Leads where [First Name+Last Name] matches previous Invalid        files    -   b. Leads where length of full name [First Name+Last Name] is        less than five characters (“Jo Al” fails, “Bob Jo” succeeds)

Street Address: Leads where address field matches a record in previousInvalid files

If the customer data is valid, system 300 may append the customer data,the traffic source, and information associated with the user'sactivities on website 312 along with further information from theexternal data sources. In one embodiment, the appended data may includea credit score, annual income, location, family size, and/or anyadditional information associated with user 305.

An example of user entered data vs. appended data is shown in the tablebelow:

User Entered Data User Name: Bob Smith User Address: 123 Main Street,Santa Monica CA, 90201 User Phone: Appended Data Name_basedOnAddressSmith, Bob J Name_basedOnPhone Smith, Bob J City_basedOnAddress SantaMonica City_basedOnPhone Santa Monica State_basedOnAddress CAState_basedOnPhone CA Street_basedOnAddress 123 Main StreetStreet_basedOnPhone 123 Main Street Zip_basedOnAddress 90401Zip_basedOnPhone 90401 Is Wireless Phone Yes QualityScore   4 PhoneVerify U Phone Type Wireless Listing Type C Valid Address Y Valid PhoneY Phone Appears Active X Do Not Call N Near Address X Recent Change NPhone Provider VERIZON WIRELESS-NY Address Type X

System 300 may determine a lead score for each lead based on thecustomer data and the appended customer data. The lead score may be usedto quantify the value of the lead. In one embodiment, the lead score maybe used to remove or vet leads that have a lead score below a thresholdbecause dealers may desire to receive high quality leads. For example,if user 305 was viewing exotic and high priced vehicles on website 312,but user 305 has a low credit rating, then a lead associated with user305 may have a low score. Accordingly, customer lead data 310 mayinclude valid and appended customer data about a particular user, adesired vehicle configuration user 305 has selected via website 312,referral source(s) from where user 305 enters website 312 and a leadscore.

Lead routing system 330 may receive customer lead data 310 and determinewhich dealers to display user 305. In one embodiment, a DSA may leveragecustomer lead data 310 to segment users to determine if certain usersare more sensitive to different factors such as price, drive distance,colors, etc., and match potential buyers (leads 335) with particulardealers 340 a, b, c. The matches are stored in lead database 345accessible by lead routing system 330.

As an example, lead database 345 may store any characteristicsassociated with user 305, a desired vehicle configuration specified byuser 305, and information regarding user 305 activities on website 312and any information associated with user 305 that may assist in aperformance analysis or determining if lead 335 associated with user 305is associated with vehicle purchase 342. In one embodiment, leaddatabase 345 may include information associated with user 305 at thehousehold level such as other people's names in a household with user305 that could be shopping on behalf of user 305.

For example, shown in FIG. 4 is example Lead Data, Sale Data, andPartner Data. Lead Data is data that is collected, for example, via theweb site. Sale data is data from the dealer concerning a sale. PartnerData is data from third-party sources, such as insurance or financingproviders. Embodiments may match the Partner Data with the Lead Data todetermine that the lead is generated from the same household. Forexample, a match of names, phone, make/model and dealership may beenough to infer that there is a household match. In such cases, in someembodiments, the Lead Data and Partner Data are assigned a PartnerIdentifier (ID) uniquely identifying the household.

In addition, once Sale Data are obtained, Partner Data and Lead Data maybe matched with the Sale Data to determine that the sale should beassigned to the household. For example, a match of home address, email,date, make/model, and Partner ID may be sufficient to infer that thesale resulted from the lead associated with the Partner ID.

In one embodiment, lead routing system 330 may determine that user 305only viewed vehicles of a specific color on website 312, and thereforedetermine that user 305 is sensitive to the color of the vehicle. In oneembodiment, lead routing system 330 may leverage historical dataassociated with customer lead data 310 such as credit scores, income,address, etc. to determine the best dealers to communicate a lead to. Asan example, leads 335 associated with user 305 may be communicated todealers 340 a-c with the highest dealer score with respect to user 305for a particular vehicle configuration presented on website 312.

In one embodiment, lead 335 may include user information in auto leadformat (ADF) comprising contact information of user 305, vehicleinformation of a desired vehicle for user 305, the lead score andanalysis of why the lead was scored that way, information associatedwith the user's activities on website 312, and any additional comments.In one embodiment, lead 335 may include a link to a dealer portal onwebsite 312 through which dealers 340 a-c can access more informationabout lead 335. Lead 335 may also be placed into a lead managementsystem (not shown) associated with a dealer.

At a later point in time, user 305 may visit one of dealers 340 a-c andmake a vehicle purchase 342.

Sales database 350 may receive (or system 300 may receive and store thetransaction data in sales database 350) transaction data from datasource 355 associated with a dealer. Data source 355 may manage thedealer's sales, inventory, insurance, finance partners, registration orDMV data files, etc. Example data sources can include any automotivedealership management system (DMS) data provider. Information on DMSdata providers could be obtained with a quick web search.

Sales database 350 may also receive information from third-party dataservices 360 that provide sales records. Example third-party dataservices 360 might include IntegraLink, Digital Motorworks Inc., etc.Third-party data services 360 may obtain sales information associatedwith the sale of a vehicle by executing an agent on a computer in adealer's network and/or via sales data files submitted directly from thedealership to the third-party data services.

In one embodiment, sales database 350 may include the followinginformation associated with a sale of a vehicle: basic vehicleinformation, vehicle identification number (VIN), dealer,year/make/model (Y/M/M) information, new or used information, pricingdata such as an invoice or MSRP, inventory fee, sales fee, etc. As anon-limiting example, this data may be received by sales database 350every night or over any desired time period via ftp from data source 355and/or third-party data services 360. Sales database 350 may also storeinsurance files from insurances companies, loan origination files fromvehicle loan companies, and/or incentive redemption codes from originalequipment manufacturers (OEM). Data stored may include VIN, Sale Date,Dealership, Customer Name, Customer Email, Customer Phone, CustomerAddress, Customer Policy Number, and other attributes related to thecustomer or vehicle.

In one embodiment, the information within sales database 350 may bevalidated and appended via a similar process as described above forcustomer lead data 310 stored in lead database 345. In some embodiments,the insurance files, loan origination files, and/or incentive redemptioncodes may be validated, appended, and/or scored as described above insteps 320, 322, 324. Output(s) from the process(es) can then be storedin sales database 350.

According to some embodiments, names may be standardized, dealer salesmay be filtered, and military ranks may be standardized according torules such as those set forth below:

Standardize Names:

-   -   a. Compare transposed First Name and Last Name fields to Lead        Records to identify transposed names. If matched, overwrite        sales record First and Last Name in matching database.    -   b. Identify names with two hyphenated last names or three        separate names (First, Last, Other—either hyphenated,        non-hyphenated, middle).    -   c. Compare subsets of names with Lead Records. If matched,        overwrite sales record First and Last name in matching database.    -   d. Remove ‘Jr’, ‘Sr’, ‘II’, ‘III’, ‘IV’ from last names.    -   e. Remove any ‘empty strings’ possibly created in data        processing/queries.    -   f. Remove any email records that match previously-determined        Invalid values.

Filter Dealer Sales: Sales records where First Name or Last Name isblank, or where record types indicate Dealer Sale, Trade, or Trade-In.

Standardize military rank: Isolate and standardize known military rankabbreviations.

Sales matching system 365 may determine a matching score identifying ifone of dealers 340 a-c sold a vehicle to user 305 as a result of user105 visiting website 312.

Example embodiments of sales matching system 365 can be found in U.S.patent application Ser. No. 11/968,137, filed Dec. 31, 2007, entitled“SYSTEMS AND METHODS OF MATCHING PURCHASE REQUESTS WITH CONSUMMATEDSALES,” which is fully incorporated herein by reference in its entirety.Sales matching system 365 may determine if user 305 purchased a vehiclefrom a particular dealer by matching the information about user 305 inlead database 345 with information about vehicle purchase 342 in salesdatabase 350, such as name, phone number, VIN, etc.

The customer information may be used to determine if a lead isassociated with a sale of a product, even if the product was not thesame product inquired by user 305 on website 312. For example, if user105 prints out from website 312 a certificate associated with aparticular vehicle configuration from a dealer but purchased a differentvehicle from the dealer, system 300 may use customer lead data 310 todetermine that the sale was associated with user 305 activities onwebsite 312, and that the sale is likely resulted from such activities.

In one embodiment, sales matching system 365 may determine vehiclepurchase 342 is related to lead 335 by analyzing similarities betweenthe information in lead database 345 and sales database 350, such as aLevenshtein distance determining how closely related is the spelling ofthe name of user 305 in lead database 345 with the name of a buyerassociated with vehicle purchase 342 in sales database 350, addresseswith different variations, types of homes specified, uniqueness of thename of user 305, etc., and producing a corresponding matching score.

Sales matching system 365 may utilize a first threshold where, if thematching score is greater than the first threshold, it may be determinedthat there is a match between a sale and a lead. If the score is belowthat threshold, it may be determined that a manual review is necessary.In some embodiments, sales matching system 365 may also utilize a secondthreshold, where if the matching score is greater than the firstthreshold but less than the second threshold, then a manual review maybe desired to determine if a sale is indeed associated with a lead. Inone embodiment, if the match score is less than the second threshold itmay be determine that there is not a match between a lead and a sale.

Shown in FIG. 5, for example, is a list of example match criteria andexample match scores. In the example illustrated, if the cumulativeconfidence is greater than 100, the lead is automatically approved. Insome embodiments, the cumulative confidence is the sum of the individualconfidence scores.

FIG. 6 illustrates this more particularly. As shown, Examples A and Bmatched on attributes with cumulative scores of greater than 100 and sowould be auto-approved. Examples C and D, however, would be provided formanual review. Typically, the example with the higher score would beprocessed first.

If it is determined that a sale is associated with a lead, eithermanually or automatically, sales matching system 365 may approve (step366) the lead for a pay-per-sale transaction. In one embodiment, one ormore additional rules may be applied to the sale to determine thepay-per-sale price. These may include one or more business rulesassociated with, for example, past transactions, geographic areas, andthe like.

Upon approving a sale, billing system 370 may invoice the dealer thatcompleted the sale. The invoice may include information identifyingvehicle purchase 342 and lead 335.

Although the invention has been described with respect to specificembodiments thereof, these embodiments are merely illustrative, and notrestrictive of the invention. The description herein of illustratedembodiments of the invention, including the description in the Abstractand Summary, is not intended to be exhaustive or to limit the inventionto the precise forms disclosed herein (and in particular, the inclusionof any particular embodiment, feature or function within the Abstract orSummary is not intended to limit the scope of the invention to suchembodiment, feature or function). Rather, the description is intended todescribe illustrative embodiments, features and functions in order toprovide a person of ordinary skill in the art context to understand theinvention without limiting the invention to any particularly describedembodiment, feature or function, including any such embodiment featureor function described in the Abstract or Summary. While specificembodiments of, and examples for, the invention are described herein forillustrative purposes only, various equivalent modifications arepossible within the spirit and scope of the invention, as those skilledin the relevant art will recognize and appreciate. As indicated, thesemodifications may be made to the invention in light of the foregoingdescription of illustrated embodiments of the invention and are to beincluded within the spirit and scope of the invention. Thus, while theinvention has been described herein with reference to particularembodiments thereof, a latitude of modification, various changes andsubstitutions are intended in the foregoing disclosures, and it will beappreciated that in some instances some features of embodiments of theinvention will be employed without a corresponding use of other featureswithout departing from the scope and spirit of the invention as setforth. Therefore, many modifications may be made to adapt a particularsituation or material to the essential scope and spirit of theinvention.

Reference throughout this specification to “one embodiment”, “anembodiment”, or “a specific embodiment” or similar terminology meansthat a particular feature, structure, or characteristic described inconnection with the embodiment is included in at least one embodimentand may not necessarily be present in all embodiments. Thus, respectiveappearances of the phrases “in one embodiment”, “in an embodiment”, or“in a specific embodiment” or similar terminology in various placesthroughout this specification are not necessarily referring to the sameembodiment. Furthermore, the particular features, structures, orcharacteristics of any particular embodiment may be combined in anysuitable manner with one or more other embodiments. It is to beunderstood that other variations and modifications of the embodimentsdescribed and illustrated herein are possible in light of the teachingsherein and are to be considered as part of the spirit and scope of theinvention.

In the description herein, numerous specific details are provided, suchas examples of components and/or methods, to provide a thoroughunderstanding of embodiments of the invention. One skilled in therelevant art will recognize, however, that an embodiment may be able tobe practiced without one or more of the specific details, or with otherapparatus, systems, assemblies, methods, components, materials, parts,and/or the like. In other instances, well-known structures, components,systems, materials, or operations are not specifically shown ordescribed in detail to avoid obscuring aspects of embodiments of theinvention. While the invention may be illustrated by using a particularembodiment, this is not and does not limit the invention to anyparticular embodiment and a person of ordinary skill in the art willrecognize that additional embodiments are readily understandable and area part of this invention.

Embodiments discussed herein can be implemented in a computercommunicatively coupled to a network (for example, the Internet),another computer, or in a standalone computer. As is known to thoseskilled in the art, a suitable computer can include a central processingunit (“CPU”), at least one read-only memory (“ROM”), at least one randomaccess memory (“RAM”), at least one hard drive (“HD”), and one or moreinput/output (“I/O”) device(s). The I/O devices can include a keyboard,monitor, printer, electronic pointing device (for example, mouse,trackball, stylus, touch pad, etc.), or the like.

ROM, RAM, and HD are computer memories for storing computer-executableinstructions executable by the CPU or capable of being compiled orinterpreted to be executable by the CPU. The processes described hereinmay be implemented in suitable computer-executable instructions that mayreside on a non-transitory computer-readable medium (for example, ROM,RAM, and HD, etc.), hardware circuitry or the like, or any combinationthereof. Within this disclosure, the term “computer-readable medium” isnot limited to ROM, RAM, and HD and can include any type of data storagemedium that can be read by a processor. Examples of computer-readablestorage media can include, but are not limited to, volatile andnon-volatile computer memories and storage devices such as random accessmemories, read-only memories, hard drives, data cartridges, directaccess storage device arrays, magnetic tapes, floppy diskettes, flashmemory drives, optical data storage devices, compact-disc read-onlymemories, and other appropriate computer memories and data storagedevices. Thus, a computer-readable medium may refer to a memory, a disk,a data cartridge, a data backup magnetic tape, a floppy diskette, aflash memory drive, an optical data storage drive, a CD-ROM, ROM, RAM,HD, or the like.

Any suitable programming language can be used to implement the routines,methods or programs of embodiments of the invention described herein,including C, C++, Java, JavaScript, HTML, or any other programming orscripting code, etc. Other software/hardware/network architectures maybe used. For example, the functions of the disclosed embodiments may beimplemented on one computer or shared/distributed among two or morecomputers in or across a network. Communications between computersimplementing embodiments can be accomplished using any electronic,optical, radio frequency signals, or other suitable methods and tools ofcommunication in compliance with known network protocols.

Different programming techniques can be employed such as procedural orobject oriented. Any particular routine can execute on a single computerprocessing device or multiple computer processing devices, a singlecomputer processor or multiple computer processors. Data may be storedin a single storage medium or distributed through multiple storagemediums, and may reside in a single database or multiple databases (orother data storage techniques). Although the steps, operations, orcomputations may be presented in a specific order, this order may bechanged in different embodiments. In some embodiments, to the extentmultiple steps are shown as sequential in this specification, somecombination of such steps in alternative embodiments may be performed atthe same time. The sequence of operations described herein can beinterrupted, suspended, or otherwise controlled by another process, suchas an operating system, kernel, etc. The routines can operate in anoperating system environment or as stand-alone routines. Functions,routines, methods, steps and operations described herein can beperformed in hardware, software embodied on hardware, firmware or anycombination thereof.

Embodiments described herein can be implemented in the form of controllogic in hardware or a combination of software and hardware. The controllogic may be stored in an information storage medium, such as acomputer-readable medium, as a plurality of instructions adapted todirect an information processing device to perform a set of stepsdisclosed in the various embodiments. Based on the disclosure andteachings provided herein, a person of ordinary skill in the art willappreciate other ways and/or methods to implement the invention.

It is also within the spirit and scope of the invention to implement insoftware programming or code an of the steps, operations, methods,routines or portions thereof described herein, where such softwareprogramming or code can be stored in a computer-readable medium and canbe operated on by a processor to permit a computer to perform any of thesteps, operations, methods, routines or portions thereof describedherein. The invention may be implemented by using software programmingor code in one or more digital computers, by using application specificintegrated circuits, programmable logic devices, field programmable gatearrays, optical, chemical, biological, quantum or nanoengineeredsystems, components, and mechanisms may be used. In general, thefunctions of the invention can be achieved by any means as is known inthe art. For example, distributed, or networked systems, components andcircuits can be used. In another example, communication or transfer (orotherwise moving from one place to another) of data may be wired,wireless, or by any other means.

A “computer-readable medium” may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, system, ordevice. The computer-readable medium can be, by way of example only butnot by limitation, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, system, device,propagation medium, or computer memory. Such computer-readable mediumshall generally be machine readable and include software programming orcode that can be human readable (e.g., source code) or machine readable(e.g., object code). Examples of non-transitory computer-readable mediacan include random access memories, read-only memories, hard drives,data cartridges, magnetic tapes, floppy diskettes, flash memory drives,optical data storage devices, compact-disc read-only memories, and otherappropriate computer memories and data storage devices. In anillustrative embodiment, some or all of the software components mayreside on a single server computer or on any combination of separateserver computers. As one skilled in the art can appreciate, a computerprogram product implementing an embodiment disclosed herein may compriseone or more non-transitory computer-readable media storing computerinstructions translatable by one or more processors in a computingenvironment.

A “computer” or “processor” may include any hardware system, mechanismor component that processes data, signals or other information. Acomputer or processor can include a system with a central processingunit, multiple processing units, dedicated circuitry for achievingfunctionality, or other systems. Processing need not be limited to ageographic location, or have temporal limitations. For example, acomputer or processor can perform its functions in “real-time,”“offline,” in a “batch mode,” etc. Portions of processing can beperformed at different times and at different locations, by different(or the same) processing systems.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having,” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,product, article, or apparatus that comprises a list of elements is notnecessarily limited only those elements but may include other elementsnot expressly listed or inherent to such process, product, article, orapparatus.

Furthermore, the term “or” as used herein is generally intended to mean“and/or” unless otherwise indicated. For example, a condition A or B issatisfied by any one of the following: A is true (or present) and B isfalse (or not present), A is false (or not present) and B is true (orpresent), and both A and B are true (or present). As used herein,including the accompanying appendices, a term preceded by “a” or “an”(and “the” when antecedent basis is “a” or “an”) includes both singularand plural of such term, unless clearly indicated otherwise (i.e., thatthe reference “a” or “an” clearly indicates only the singular or onlythe plural). Also, as used in the description herein and in theaccompanying appendices, the meaning of “in” includes “in” and “on”unless the context clearly dictates otherwise.

Although the foregoing specification describes specific embodiments,numerous changes in the details of the embodiments disclosed herein andadditional embodiments will be apparent to, and may be made by, personsof ordinary skill in the art having reference to this disclosure. Inthis context, the specification and figures are to be regarded in anillustrative rather than a restrictive sense, and all such modificationsare intended to be included within the scope of this disclosure.Accordingly, the scope of this disclosure should be determined by thefollowing claims and their legal equivalents.

What is claimed is:
 1. A method, comprising: validating, by a computer,customer data provided through a website by a website visitor visitingthe website, the validating producing validated customer data for thewebsite visitor; appending, by the computer, third-party customer datato the validated customer data for the website visitor, the third-partycustomer data including data derived from third-party sourcesindependent of the computer; generating, by the computer, customer leaddata including the validated customer data for the website visitor, thethird-party customer data appended to the validated customer data forthe website visitor, and a desired product, service, or vehicleconfiguration that the website visitor has selected or viewed throughthe website; selecting, by the computer based at least in part on thecustomer lead data, at least one dealer from a plurality of dealersaffiliated with the website for presentation to the website visitorthrough the website; automatically tracking, by the computer, anyinteraction between the website visitor and the presentation of the atleast one dealer on the website, the interaction including at least oneof: at least one search query submitted by the website visitor to thewebsite, navigation of the website by the website visitor, a product orservice selected or viewed by the website visitor, or any changes to thevehicle configuration by the website visitor; receiving, by thecomputer, sales data that includes information on transactions thatoccurred at the at least one dealer; matching, by the computer, thesales data and the interaction between the website visitor and thepresentation of the at least one dealer on the website, the matchingincluding analyzing a similarity between the website visitor and a buyerin the sales data, the matching producing a matching score representingthe similarity; determining, by the computer, whether any of thetransactions that occurred at the at least one dealer is associated withthe website visitor, the determining including comparing the matchingscore with a threshold; and responsive to finding a match between thewebsite visitor and a transaction that occurred at the at least onedealer, applying, by the computer, a rule to the transaction todetermine an amount for the website to invoice the at least one dealerfor the transaction.
 2. The method according to claim 1, wherein thematching the sales data and the interaction between the website visitorand the presentation of the at least one dealer on the website furtherincludes: generating individual confidence scores representingsimilarities between attributes of the website visitor and the buyer. 3.The method according to claim 2, further comprising: comparingcumulative scores of the individual confidence scores representing thesimilarities between the attributes of the website visitor and thebuyer; and responsive to the website visitor and the buyer matching onthe attributes with the cumulative scores over the threshold,automatically approving the amount for the website to invoice the atleast one dealer for the transaction.
 4. The method according to claim1, wherein the analyzing the similarity between the website visitor andthe buyer includes determining a Levenshtein distance between spellingsof names of the website visitor and of the buyer, variations betweenaddresses of the website visitor and of the buyer, or types of homesspecified by the website visitor and the buyer.
 5. The method accordingto claim 1, wherein the comparing the matching score with the thresholdfurther comprises: comparing the matching score with a first thresholdand a second threshold; if the matching score is more than the firstthreshold, determining that the match is found; if the matching score isbetween the first threshold and the second threshold, determining that amanual review is necessary; and if the matching score is less than thesecond threshold, determining that no match is found between the websitevisitor and the transactions that occurred at the at least one dealer.6. The method according to claim 1, further comprising: converting thecustomer data provided through the website by the website visitor into astandard format according to one or more standardization rules.
 7. Themethod according to claim 1, wherein the third-party sources independentof the computer include at least one of an insurance provider or afinancing provider.
 8. A system, comprising: a processor; anon-transitory computer-readable medium; and stored instructionstranslatable by the processor for: validating customer data providedthrough a website by a website visitor visiting the website, thevalidating producing validated customer data for the website visitor;appending third-party customer data to the validated customer data forthe website visitor, the third-party customer data including dataderived from third-party sources independent of the system; generatingcustomer lead data including the validated customer data for the websitevisitor, the third-party customer data appended to the validatedcustomer data for the website visitor, and a desired product, service,or vehicle configuration that the website visitor has selected or viewedthrough the website; selecting, based at least in part on the customerlead data, at least one dealer from a plurality of dealers affiliatedwith the website for presentation to the website visitor through thewebsite; automatically tracking any interaction between the websitevisitor and the presentation of the at least one dealer on the website,the interaction including at least one of: at least one search querysubmitted by the website visitor to the website, navigation of thewebsite by the website visitor, a product or service selected or viewedby the website visitor, or any changes to the vehicle configuration bythe website visitor; receiving sales data that includes information ontransactions that occurred at the at least one dealer; matching thesales data and the interaction between the website visitor and thepresentation of the at least one dealer on the website, the matchingincluding analyzing a similarity between the website visitor and a buyerin the sales data, the matching producing a matching score representingthe similarity; determining whether any of the transactions thatoccurred at the at least one dealer is associated with the websitevisitor, the determining including comparing the matching score with athreshold; and responsive to finding a match between the website visitorand a transaction that occurred at the at least one dealer, applying arule to the transaction to determine an amount for the website toinvoice the at least one dealer for the transaction.
 9. The system ofclaim 8, wherein the matching the sales data and the interaction betweenthe website visitor and the presentation of the at least one dealer onthe website further includes: generating individual confidence scoresrepresenting similarities between attributes of the website visitor andthe buyer.
 10. The system of claim 9, wherein the stored instructionsare further translatable by the processor for: comparing cumulativescores of the individual confidence scores representing the similaritiesbetween the attributes of the website visitor and the buyer; andresponsive to the website visitor and the buyer matching on theattributes with the cumulative scores over the threshold, automaticallyapproving the amount for the website to invoice the at least one dealerfor the transaction.
 11. The system of claim 8, wherein the analyzingthe similarity between the website visitor and the buyer includesdetermining a Levenshtein distance between spellings of names of thewebsite visitor and of the buyer, variations between addresses of thewebsite visitor and of the buyer, or types of homes specified by thewebsite visitor and the buyer.
 12. The system of claim 8, wherein thecomparing the matching score with the threshold further comprises:comparing the matching score with a first threshold and a secondthreshold; if the matching score is more than the first threshold,determining that the match is found; if the matching score is betweenthe first threshold and the second threshold, determining that a manualreview is necessary; and if the matching score is less than the secondthreshold, determining that no match is found between the websitevisitor and the transactions that occurred at the at least one dealer.13. The system of claim 8, wherein the stored instructions are furthertranslatable by the processor for: converting the customer data providedthrough the website by the website visitor into a standard formataccording to one or more standardization rules.
 14. The system of claim8, wherein the third-party sources independent of the computer includeat least one of an insurance provider or a financing provider.
 15. Acomputer program product comprising a non-transitory computer-readablemedium storing instructions translatable by a computer for: validatingcustomer data provided through a website by a website visitor visitingthe website, the validating producing validated customer data for thewebsite visitor; appending third-party customer data to the validatedcustomer data for the website visitor, the third-party customer dataincluding data derived from third-party sources independent of thecomputer; generating customer lead data including the validated customerdata for the website visitor, the third-party customer data appended tothe validated customer data for the website visitor, and a desiredproduct, service, or vehicle configuration that the website visitor hasselected or viewed through the website; selecting, based at least inpart on the customer lead data, at least one dealer from a plurality ofdealers affiliated with the website for presentation to the websitevisitor through the website; automatically tracking any interactionbetween the website visitor and the presentation of the at least onedealer on the website, the interaction including at least one of: atleast one search query submitted by the website visitor to the website,navigation of the website by the website visitor, a product or serviceselected or viewed by the website visitor, or any changes to the vehicleconfiguration by the website visitor; receiving sales data that includesinformation on transactions that occurred at the at least one dealer;matching the sales data and the interaction between the website visitorand the presentation of the at least one dealer on the website, thematching including analyzing a similarity between the website visitorand a buyer in the sales data, the matching producing a matching scorerepresenting the similarity; determining whether any of the transactionsthat occurred at the at least one dealer is associated with the websitevisitor, the determining including comparing the matching score with athreshold; and responsive to finding a match between the website visitorand a transaction that occurred at the at least one dealer, applying arule to the transaction to determine an amount for the website toinvoice the at least one dealer for the transaction.
 16. The computerprogram product of claim 15, wherein the matching the sales data and theinteraction between the website visitor and the presentation of the atleast one dealer on the website further includes: generating individualconfidence scores representing similarities between attributes of thewebsite visitor and the buyer.
 17. The computer program product of claim16, wherein the instructions are further translatable by the computerfor: comparing cumulative scores of the individual confidence scoresrepresenting the similarities between the attributes of the websitevisitor and the buyer; and responsive to the website visitor and thebuyer matching on the attributes with the cumulative scores over thethreshold, automatically approving the amount for the website to invoicethe at least one dealer for the transaction.
 18. The computer programproduct of claim 15, wherein the analyzing the similarity between thewebsite visitor and the buyer includes determining a Levenshteindistance between spellings of names of the website visitor and of thebuyer, variations between addresses of the website visitor and of thebuyer, or types of homes specified by the website visitor and the buyer.19. The computer program product of claim 15, wherein the comparing thematching score with the threshold further comprises: comparing thematching score with a first threshold and a second threshold; if thematching score is more than the first threshold, determining that thematch is found; if the matching score is between the first threshold andthe second threshold, determining that a manual review is necessary; andif the matching score is less than the second threshold, determiningthat no match is found between the website visitor and the transactionsthat occurred at the at least one dealer.
 20. The computer programproduct of claim 15, wherein the instructions are further translatableby the computer for: converting the customer data provided through thewebsite by the website visitor into a standard format according to oneor more standardization rules.